﻿using System;
using System.ComponentModel;
using DevExpress.Xpo;
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
namespace Top.Module.Domain
{
    [DefaultClassOptions]
    public class TopItem : BaseObject
    {
        //begin
        public TopItem(Session session) : base(session)
        {}
        public override void AfterConstruction(){base.AfterConstruction();}

        private string _DetailUrl;
        [Size(SizeAttribute.Unlimited)]
        public string DetailUrl
        {
            get
            {
                return _DetailUrl;
            }
            set
            {
                SetPropertyValue("DetailUrl", ref _DetailUrl, value);
            }
        }
        private string _NumIid;
        [Size(SizeAttribute.Unlimited)]
        public string NumIid
        {
            get
            {
                return _NumIid;
            }
            set
            {
                SetPropertyValue("NumIid", ref _NumIid, value);
            }
        }
        private string _Title;
        [Size(SizeAttribute.Unlimited)]
        public string Title
        {
            get
            {
                return _Title;
            }
            set
            {
                SetPropertyValue("Title", ref _Title, value);
            }
        }
        private string _Nick;
        [Size(SizeAttribute.Unlimited)]
        public string Nick
        {
            get
            {
                return _Nick;
            }
            set
            {
                SetPropertyValue("Nick", ref _Nick, value);
            }
        }
        private string _Type;
        [Size(SizeAttribute.Unlimited)]
        public string Type
        {
            get
            {
                return _Type;
            }
            set
            {
                SetPropertyValue("Type", ref _Type, value);
            }
        }
        private string _Desc;
        [Size(SizeAttribute.Unlimited)]
        public string Desc
        {
            get
            {
                return _Desc;
            }
            set
            {
                SetPropertyValue("Desc", ref _Desc, value);
            }
        }
        [Association("ItemSkus", typeof(TopSku))]
        public XPCollection Skus
        {
            get
            {
                return GetCollection("Skus");
            }
        }
        private string _PropsName;
        [Size(SizeAttribute.Unlimited)]
        public string PropsName
        {
            get
            {
                return _PropsName;
            }
            set
            {
                SetPropertyValue("PropsName", ref _PropsName, value);
            }
        }
        private DateTime _Created;
        public DateTime Created
        {
            get
            {
                return _Created;
            }
            set
            {
                SetPropertyValue("Created", ref _Created, value);
            }
        }
        private string _PromotedService;
        [Size(SizeAttribute.Unlimited)]
        public string PromotedService
        {
            get
            {
                return _PromotedService;
            }
            set
            {
                SetPropertyValue("PromotedService", ref _PromotedService, value);
            }
        }
        private bool _IsLightningConsignment;
        public bool IsLightningConsignment
        {
            get
            {
                return _IsLightningConsignment;
            }
            set
            {
                SetPropertyValue("IsLightningConsignment", ref _IsLightningConsignment, value);
            }
        }
        private long _IsFenxiao;
        public long IsFenxiao
        {
            get
            {
                return _IsFenxiao;
            }
            set
            {
                SetPropertyValue("IsFenxiao", ref _IsFenxiao, value);
            }
        }
        private string _TemplateId;
        [Size(SizeAttribute.Unlimited)]
        public string TemplateId
        {
            get
            {
                return _TemplateId;
            }
            set
            {
                SetPropertyValue("TemplateId", ref _TemplateId, value);
            }
        }
        private long _AuctionPoint;
        public long AuctionPoint
        {
            get
            {
                return _AuctionPoint;
            }
            set
            {
                SetPropertyValue("AuctionPoint", ref _AuctionPoint, value);
            }
        }
        private string _PropertyAlias;
        [Size(SizeAttribute.Unlimited)]
        public string PropertyAlias
        {
            get
            {
                return _PropertyAlias;
            }
            set
            {
                SetPropertyValue("PropertyAlias", ref _PropertyAlias, value);
            }
        }
        private long _Volume;
        public long Volume
        {
            get
            {
                return _Volume;
            }
            set
            {
                SetPropertyValue("Volume", ref _Volume, value);
            }
        }
        private string _Cid;
        [Size(SizeAttribute.Unlimited)]
        public string Cid
        {
            get
            {
                return _Cid;
            }
            set
            {
                SetPropertyValue("Cid", ref _Cid, value);
            }
        }
        private string _SellerCids;
        [Size(SizeAttribute.Unlimited)]
        public string SellerCids
        {
            get
            {
                return _SellerCids;
            }
            set
            {
                SetPropertyValue("SellerCids", ref _SellerCids, value);
            }
        }
        private string _Props;
        [Size(SizeAttribute.Unlimited)]
        public string Props
        {
            get
            {
                return _Props;
            }
            set
            {
                SetPropertyValue("Props", ref _Props, value);
            }
        }
        private string _InputPids;
        [Size(SizeAttribute.Unlimited)]
        public string InputPids
        {
            get
            {
                return _InputPids;
            }
            set
            {
                SetPropertyValue("InputPids", ref _InputPids, value);
            }
        }
        private string _InputStr;
        [Size(SizeAttribute.Unlimited)]
        public string InputStr
        {
            get
            {
                return _InputStr;
            }
            set
            {
                SetPropertyValue("InputStr", ref _InputStr, value);
            }
        }
        private string _PicUrl;
        [Size(SizeAttribute.Unlimited)]
        public string PicUrl
        {
            get
            {
                return _PicUrl;
            }
            set
            {
                SetPropertyValue("PicUrl", ref _PicUrl, value);
            }
        }
        private long _Num;
        public long Num
        {
            get
            {
                return _Num;
            }
            set
            {
                SetPropertyValue("Num", ref _Num, value);
            }
        }
        private string _ValidThru;
        [Size(SizeAttribute.Unlimited)]
        public string ValidThru
        {
            get
            {
                return _ValidThru;
            }
            set
            {
                SetPropertyValue("ValidThru", ref _ValidThru, value);
            }
        }
        private DateTime _ListTime;
        public DateTime ListTime
        {
            get
            {
                return _ListTime;
            }
            set
            {
                SetPropertyValue("ListTime", ref _ListTime, value);
            }
        }
        private DateTime _DelistTime;
        public DateTime DelistTime
        {
            get
            {
                return _DelistTime;
            }
            set
            {
                SetPropertyValue("DelistTime", ref _DelistTime, value);
            }
        }
        private string _StuffStatus;
        [Size(SizeAttribute.Unlimited)]
        public string StuffStatus
        {
            get
            {
                return _StuffStatus;
            }
            set
            {
                SetPropertyValue("StuffStatus", ref _StuffStatus, value);
            }
        }
        private TopLocation _Location;
        public TopLocation Location
        {
            get
            {
                return _Location;
            }
            set
            {
                SetPropertyValue("Location", ref _Location, value);
            }
        }
        private decimal _Price;
        public decimal Price
        {
            get
            {
                return _Price;
            }
            set
            {
                SetPropertyValue("Price", ref _Price, value);
            }
        }
        private decimal _PostFee;
        public decimal PostFee
        {
            get
            {
                return _PostFee;
            }
            set
            {
                SetPropertyValue("PostFee", ref _PostFee, value);
            }
        }
        private decimal _ExpressFee;
        public decimal ExpressFee
        {
            get
            {
                return _ExpressFee;
            }
            set
            {
                SetPropertyValue("ExpressFee", ref _ExpressFee, value);
            }
        }
        private decimal _EmsFee;
        public decimal EmsFee
        {
            get
            {
                return _EmsFee;
            }
            set
            {
                SetPropertyValue("EmsFee", ref _EmsFee, value);
            }
        }
        private bool _HasDiscount;
        public bool HasDiscount
        {
            get
            {
                return _HasDiscount;
            }
            set
            {
                SetPropertyValue("HasDiscount", ref _HasDiscount, value);
            }
        }
        private string _FreightPayer;
        [Size(SizeAttribute.Unlimited)]
        public string FreightPayer
        {
            get
            {
                return _FreightPayer;
            }
            set
            {
                SetPropertyValue("FreightPayer", ref _FreightPayer, value);
            }
        }
        private bool _HasInvoice;
        public bool HasInvoice
        {
            get
            {
                return _HasInvoice;
            }
            set
            {
                SetPropertyValue("HasInvoice", ref _HasInvoice, value);
            }
        }
        private bool _HasWarranty;
        public bool HasWarranty
        {
            get
            {
                return _HasWarranty;
            }
            set
            {
                SetPropertyValue("HasWarranty", ref _HasWarranty, value);
            }
        }
        private bool _HasShowcase;
        public bool HasShowcase
        {
            get
            {
                return _HasShowcase;
            }
            set
            {
                SetPropertyValue("HasShowcase", ref _HasShowcase, value);
            }
        }
        private DateTime _Modified;
        public DateTime Modified
        {
            get
            {
                return _Modified;
            }
            set
            {
                SetPropertyValue("Modified", ref _Modified, value);
            }
        }
        private string _Increment;
        [Size(SizeAttribute.Unlimited)]
        public string Increment
        {
            get
            {
                return _Increment;
            }
            set
            {
                SetPropertyValue("Increment", ref _Increment, value);
            }
        }
        private string _ApproveStatus;
        [Size(SizeAttribute.Unlimited)]
        public string ApproveStatus
        {
            get
            {
                return _ApproveStatus;
            }
            set
            {
                SetPropertyValue("ApproveStatus", ref _ApproveStatus, value);
            }
        }
        private string _PostageId;
        [Size(SizeAttribute.Unlimited)]
        public string PostageId
        {
            get
            {
                return _PostageId;
            }
            set
            {
                SetPropertyValue("PostageId", ref _PostageId, value);
            }
        }
        private string _ProductId;
        [Size(SizeAttribute.Unlimited)]
        public string ProductId
        {
            get
            {
                return _ProductId;
            }
            set
            {
                SetPropertyValue("ProductId", ref _ProductId, value);
            }
        }
        [Association("ItemItemImgs", typeof(TopItemImg))]
        public XPCollection ItemImgs
        {
            get
            {
                return GetCollection("ItemImgs");
            }
        }
        [Association("ItemPropImgs", typeof(TopPropImg))]
        public XPCollection PropImgs
        {
            get
            {
                return GetCollection("PropImgs");
            }
        }
        private string _OuterId;
        [Size(SizeAttribute.Unlimited)]
        public string OuterId
        {
            get
            {
                return _OuterId;
            }
            set
            {
                SetPropertyValue("OuterId", ref _OuterId, value);
            }
        }
        private bool _IsVirtual;
        public bool IsVirtual
        {
            get
            {
                return _IsVirtual;
            }
            set
            {
                SetPropertyValue("IsVirtual", ref _IsVirtual, value);
            }
        }
        private bool _IsTaobao;
        public bool IsTaobao
        {
            get
            {
                return _IsTaobao;
            }
            set
            {
                SetPropertyValue("IsTaobao", ref _IsTaobao, value);
            }
        }
        private bool _IsEx;
        public bool IsEx
        {
            get
            {
                return _IsEx;
            }
            set
            {
                SetPropertyValue("IsEx", ref _IsEx, value);
            }
        }
        private bool _IsTiming;
        public bool IsTiming
        {
            get
            {
                return _IsTiming;
            }
            set
            {
                SetPropertyValue("IsTiming", ref _IsTiming, value);
            }
        }
        [Association("ItemVideos", typeof(TopVideo))]
        public XPCollection Videos
        {
            get
            {
                return GetCollection("Videos");
            }
        }
        private bool _Is3D;
        public bool Is3D
        {
            get
            {
                return _Is3D;
            }
            set
            {
                SetPropertyValue("Is3D", ref _Is3D, value);
            }
        }
        private long _Score;
        public long Score
        {
            get
            {
                return _Score;
            }
            set
            {
                SetPropertyValue("Score", ref _Score, value);
            }
        }
        private bool _OneStation;
        public bool OneStation
        {
            get
            {
                return _OneStation;
            }
            set
            {
                SetPropertyValue("OneStation", ref _OneStation, value);
            }
        }
        private string _SecondKill;
        [Size(SizeAttribute.Unlimited)]
        public string SecondKill
        {
            get
            {
                return _SecondKill;
            }
            set
            {
                SetPropertyValue("SecondKill", ref _SecondKill, value);
            }
        }
        private string _AutoFill;
        [Size(SizeAttribute.Unlimited)]
        public string AutoFill
        {
            get
            {
                return _AutoFill;
            }
            set
            {
                SetPropertyValue("AutoFill", ref _AutoFill, value);
            }
        }
        private bool _Violation;
        public bool Violation
        {
            get
            {
                return _Violation;
            }
            set
            {
                SetPropertyValue("Violation", ref _Violation, value);
            }
        }
        private bool _IsPrepay;
        public bool IsPrepay
        {
            get
            {
                return _IsPrepay;
            }
            set
            {
                SetPropertyValue("IsPrepay", ref _IsPrepay, value);
            }
        }
        private bool _WwStatus;
        public bool WwStatus
        {
            get
            {
                return _WwStatus;
            }
            set
            {
                SetPropertyValue("WwStatus", ref _WwStatus, value);
            }
        }
        private string _WapDesc;
        [Size(SizeAttribute.Unlimited)]
        public string WapDesc
        {
            get
            {
                return _WapDesc;
            }
            set
            {
                SetPropertyValue("WapDesc", ref _WapDesc, value);
            }
        }
        private string _WapDetailUrl;
        [Size(SizeAttribute.Unlimited)]
        public string WapDetailUrl
        {
            get
            {
                return _WapDetailUrl;
            }
            set
            {
                SetPropertyValue("WapDetailUrl", ref _WapDetailUrl, value);
            }
        }
        private string _AfterSaleId;
        [Size(SizeAttribute.Unlimited)]
        public string AfterSaleId
        {
            get
            {
                return _AfterSaleId;
            }
            set
            {
                SetPropertyValue("AfterSaleId", ref _AfterSaleId, value);
            }
        }
        private string _CodPostageId;
        [Size(SizeAttribute.Unlimited)]
        public string CodPostageId
        {
            get
            {
                return _CodPostageId;
            }
            set
            {
                SetPropertyValue("CodPostageId", ref _CodPostageId, value);
            }
        }
        private bool _SellPromise;
        public bool SellPromise
        {
            get
            {
                return _SellPromise;
            }
            set
            {
                SetPropertyValue("SellPromise", ref _SellPromise, value);
            }
        }
        private TopItemSearch _ItemSearch;
        [Association("ItemSearchItems", typeof(TopItemSearch))]
        public TopItemSearch ItemSearch
        {
            get
            {
                return _ItemSearch;
            }
            set
            {
                SetPropertyValue("ItemSearch", ref _ItemSearch, value);
            }
        }
        //end

    }
}
